import {
	createStore
} from 'vuex' //导入createStore构造函数

let httpsUrl = "https://www.clc1319.com/"; //
// let httpsUrl = "https://test.fubaozx.cn/"; //测试环境
const downloadBaseUrl = "http://download.guanxikeji.com/download/fubao/";
if (process.env.NODE_ENV !== "development") {
	// #ifdef H5
	const url = window.location.host;
	httpsUrl = `https://${url}/`;
	// #endif

}
let isH5BgBase = "";
let baseurl = httpsUrl;
let SHOPbaseurl = httpsUrl
let encryption = true;
if (window && (window.location.href.indexOf("localhost") > -1 || window.location.href.indexOf("192.168.2") > -1) ||
	process.env.NODE_ENV === "development") {
	baseurl = "http://192.168.2.10:8410/";
	SHOPbaseurl = "http://192.168.2.10:8411/";
	encryption = false;
}
export const defaultState={
    template: "hemajishi", //项目名称(上传配置)
    defaultAvatar: "https://pili-vod.guanxikeji.com/fubao/img/1755758365748.png", //默认头像
    share: baseurl + "h5/#/", //分享地址
    download: downloadBaseUrl, //APP下载地址
    baseurl: baseurl, //API
    SHOPbaseurl: SHOPbaseurl, //商家API
    empty: "https://img.fubaozx.cn/static/oldImg/16994990215692.png", //空图
    logo: "https://pili-vod.guanxikeji.com/fubao/img/1755758365748.png", //项目logo
    name: "茶疗馆", //项目名称
    encryption: encryption, //是否加密
    key: "茶疗", //密钥
    data: null, //传递数据
}
export default createStore({
	state: { //Vuex的状态，实际上就是存数据的地方
		...defaultState
	},
	getters: { //提供获取Vux状态的方式, 注意在组件中调用时getPerson是以属性的方式被访问
		getDownload(state) {
			return state.download
		},
		getEmpty(state) {
			return state.empty
		}
	},
	mutations: { //提供直接操作Vuex的方法，注意mutations里的方法中不能有任何异步操做
		ageGrow(state, value) {
			//第一个参数state为Vuex状态；第二个参数为commit函数传来的值
			state.person.age += value
		},
		hidePrompt(state) {
			// 小程序导航条页面控制
			// #ifndef H5
			// if (state.hideTabBar) {
			// 	wx.showTabBar();
			// }
			// #endif
			state.showPrompt.show = false
		},
		showPrompt(state, data) {
			state.showPrompt = Object.assign(state, data)
			state.showPrompt.show = true

		},
		success(state, data) {
			return state.showPrompt.success(state.showPrompt.icon)
		}
	},
	actions: { //提供通过mutations方法来简介操作Vuex的方法
		ageGrow(context, value) {
			//第一个参数context为上下文，提供一些方法；第二个参数为dispatch函数传来的值
			context.commit('ageGrow', value)
		}
	},
})
